package com.ruoyi.web.controller.unit;/**
 * @Auther lql
 * @Date 2024/9/8
 */


import com.ruoyi.system.domain.Rotordata;
import com.ruoyi.system.domain.Task;
import org.jfree.chart.*;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;

import org.springframework.stereotype.Service;

import javax.swing.JFrame;
import java.awt.*;
import java.io.File;
import java.util.List;
@Service
public class tupian {
    public  void upLoadPng(List<Rotordata> rotordataList , Task task) {
        // 创建XYSeriesCollection对象
        XYSeriesCollection dataset = new XYSeriesCollection();

        // 创建XYSeries对象并添加数据点
        XYSeries series = new XYSeries("图例曲线");
        // (x, y)
        for (Rotordata rotordata : rotordataList){
            series.add( rotordata.getTurnspeed(),rotordata.getRealspeed());
        }


        // 添加series到dataset
        dataset.addSeries(series);
//创建主题样式
        StandardChartTheme standardChartTheme=new StandardChartTheme("CN");
//设置标题字体
        standardChartTheme.setExtraLargeFont(new Font("隶书", Font.BOLD,20));
//设置图例的字体
        standardChartTheme.setRegularFont(new Font("宋书",Font.PLAIN,15));
//设置轴向的字体
        standardChartTheme.setLargeFont(new Font("宋书",Font.PLAIN,15));
//应用主题样式
        ChartFactory.setChartTheme(standardChartTheme);
        // 使用ChartFactory创建图表
        JFreeChart chart = ChartFactory.createXYLineChart(
                task.getDevicetype()+"型流速仪低速V-N曲线图", // 图表标题
                "转速(r/s)", // X轴标签
                "车速(m/s)", // Y轴标签
                dataset, // 数据集
                PlotOrientation.VERTICAL,
                true, // 显示图例
                true, // 生成工具提示
                false // 生成URL链接
        );

        try {
            // 将图表保存为图片文件
            ChartUtils.saveChartAsJPEG(new File("D:\\hbsw\\"+task.getTaskid()+".jpg"), chart, 500, 700);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
